using TerritoryGame.Domain.Entities.App;

namespace TerritoryGame.Domain.DomainEvents;

/// <summary>
/// 用户头像上传事件
/// </summary>
public class UserAvatarUploadedEvent : DomainEvent
{
    public User User { get; }
    public string OldAvatarUrl { get; }
    public string NewAvatarUrl { get; }
    public string FileName { get; }
    public long FileSize { get; }

    public UserAvatarUploadedEvent(User user, string oldAvatarUrl, string newAvatarUrl, string fileName, long fileSize)
    {
        User = user;
        OldAvatarUrl = oldAvatarUrl;
        NewAvatarUrl = newAvatarUrl;
        FileName = fileName;
        FileSize = fileSize;
    }
}

/// <summary>
/// 用户头像删除事件
/// </summary>
public class UserAvatarDeletedEvent : DomainEvent
{
    public User User { get; }
    public string DeletedAvatarUrl { get; }

    public UserAvatarDeletedEvent(User user, string deletedAvatarUrl)
    {
        User = user;
        DeletedAvatarUrl = deletedAvatarUrl;
    }
} 